abstract algebra class